<?php

namespace app\Home\controller;

use app\common\controller\Home;

class Team extends Home
{
    public function __construct()
    {
        parent::__construct();

        // BusinessModel,这是自己命名的模型名字。
        /* model('Business.Business')是默认从公共模块common，路径为'common/Business/BUsiness'引进来一个模型,
        common不用写；如果从home模块引进，home就要写出来，写法为，$this->BusinessModel = model('home/Business/Business');*/
        $this->BusinessModel = model('Business.Business');
    }

    // 我的团队
    public function index()
    {
        // $this->BusinessModel->where(['parentid' => $this->view->AutoLogin[]])
    }

    // 海报界面，创建海报方法
    public function poster()
    {
        // 获取当前封面海报和头像。如果获取不了就给空
        $poster = isset($this->view->AutoLogin['poster']) ? trim($this->view->AutoLogin['poster']) : '';
        $avatar = isset($this->view->AutoLogin['avatar']) ? /*'http://www.fast.com'.*/trim($this->view->AutoLogin['avatar']) : '';

        // 判断头像是否为图片，如果是，就把$avatar给他，不是就给空
        $avatar = is_file(".".$avatar) ? ".".$avatar : "";

        $id = isset($this->view->AutoLogin['id']) ? trim($this->view->AutoLogin['id']) : 0;
        $mobile = isset($this->view->AutoLogin['mobile']) ? trim($this->view->AutoLogin['mobile']) : '';


        // 获得二维码的域名
        $domain = $this->request->domain();
        // 身份识别 id+mobile 进行md5
        $token = md5($id.$mobile);
        // 把域名和路径进行组装成网址赋值给$url。 http://www.fast.com/home/index/register?busid
        $url = "$domain/home/index/register?token=$token";
        
         

        if($this->request->isAjax())
        {

            // 生成海报。用new实例化以下QRcode()这个类，成为对象
            $qrcode = new \dh2y\qrcode\QRcode();
          
            // 生成二维码图片
            $level = ['L','M','Q','H'];
            $index = array_rand($level);
            var_dump($level);
            exit;

            //将url地址写入。$level[$index]是容错率
            $path = $qrcode->png($url,false,5,$level[$index]) 
                ->logo($avatar) //添加logo
                ->getPath();

            // 更新到数据库中去
            // 第一步，组装数据
            $data = [
                'id' => $this->view->AutoLogin['id'],
                'poster' => $path
            ];
            // 第二步，更新到数据库
            $result = $this->BusinessModel->isUpdate(true)->save($data);
            // 第三步，看是否成功存入数据库
            if($result === FALSE)
            {
                // 情况一，失败。error('更新海报失败')，这是一个方法，弹出来一个笑脸，并写着'更新海报失败'
                $this->error('更新海报失败');
                exit;
            }else
            {
                // 情况二，成功。
                /* 判断海报是否成功，如果存在就删除旧图片。@unlink(".".$poster)：unlink() 是一个 PHP 函数，
                用于删除文件。@ 符号用于抑制错误消息的输出，如果文件不存在或者无法删除，unlink() 函数会返回 false，
                但通常情况下，PHP 脚本会继续执行，不会因为这个错误而停止。*/
                is_file(".".$poster) && @unlink(".".$poster);
               

                // 返回数据
                $this->success('更新个人海报成功',null,['poster' => $path]);
                exit;
            }  
        }

        // 赋值数据。assign()方法，方法的变量$url的值，赋值给模板的url的变量，括号里面，前者是模板的变量名，后者是模板的变量
        $this->assign('url', $url);

        return $this->view->fetch();
    }         
}
